import { getToken,setToken,removeToken } from "@/utils/auth";
import {  getUserProfile,getUserProfileById} from "@/api/user";

export default {
  namespaced: true,
  state: {
    // getToken()优先从cookie中获取token
    token:getToken()||'',  //保存token
    userInfo:{}
   
  },
  mutations: {
    // 更新存储token
    updataToken(state,token){
      state.token=token
      // 将token存储到cookie中实现持久化
      setToken(token)
    },
    // 清空token
    delToken(state){
      state.token=''
      // 清空cookie中的token  //直接调用清除token的方法
      removeToken()
    },
    // 更新用户数据
    updataUserInfo(state,info){
    state.userInfo=info

 
  },
     // },删除用户数据
     delUserInfo(state){
      state.userInfo={}
    }
 
},

actions: {
  // 发送请求 获取用户信息 存储到vuex中  重新定义getUserInfo()函数
async  getUserInfo(context){
  try {
    const res=await getUserProfile()
    console.log('res.data',res.data); 
    console.log('res.data.roles.menus',res.data.roles.menus);  //这里的menus是获取页面权限的
    const info= await  getUserProfileById(res.data.userId)
    console.log('info',info);  //info.data
    console.log("info.data",info.data); //staffPhoto   这是用户图片
    context.commit('updataUserInfo',{...res.data,...info.data})
    return res.data.roles.menus  //最后把页面的权限  返回给 getUserInfo()这个函数.在路由守卫调用


  } catch (error) {
    console.log(error);
  }


  }
}
}
